﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using System.ServiceModel.Web;

namespace Obra.SmugMug.Api
{
    [ServiceContract]
    [XmlSerializerFormat]
    public interface ISmugMugImages
    {
        [OperationContract]
        [WebGet(UriTemplate = UriTemplates.Images.Delete)]
        void DeleteImage(
            string sessionId,
            int imageId);

        [OperationContract]
        [WebGet(UriTemplate = UriTemplates.Images.Get)]
        ImagesContract GetImages(
            string sessionId,
            int albumId);

        [OperationContract]
        [WebGet(UriTemplate = UriTemplates.Images.GetExif)]
        ImageExif GetImageExif(
            string sessionId,
            int imageId);

        [OperationContract]
        [WebGet(UriTemplate = UriTemplates.Images.GetInfo)]
        ImageContract GetImageInfo(
            string sessionId,
            int imageId);

        [OperationContract]
        [WebGet(UriTemplate = UriTemplates.Images.GetUrls)]
        ImageUrls GetImageUrls(
            string sessionId,
            int imageId,
            int templateId);      

        [OperationContract]
        [WebGet(UriTemplate = UriTemplates.Images.UploadFromUrl)]
        void UploadFromUrl(
            string sessionId,
            int albumId,
            string caption,
            Uri url,
            string keywords,
            string latitude,
            string longitude,
            string altitude,
            int byteCount,
            string md5Sum);
    }
}
